home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
BBS Toolkit
/
BBS Toolkit.iso
/
wildcat
/
cp201.zip
/
CATPORT.DOC
next >
Wrap
Text File
|
1992-02-13
|
32KB
|
838 lines
╒═════════════════════════════╕
│ CatPort Version 2.01 │
╒══════════════╛ ╘══════════════╕
│ Doorfile conversion / control utility for Wildcat! 3.xx │
╘══════════════╕ ╒═══════════════╛
│ (c) 1992 - RhoSoft │
╘════════════════════════════╛
Table of Contents
Introduction...................1
Why CatPort?...................1
Technical description..........2
Legal mumbo-jumbo..............3
Distribution / Registration....3
General operation..............4
Command format.................5
Enhanced options...............5
ASWAP........................5
SLIMIT.......................6
RESTRICT.....................6
TLIMIT.......................6
CONFS........................6
NODES........................7
LOCK.........................7
OPEN.........................7
Usage samples..................8
Notes for enhanced options.....9
Error Logging..................10
Support........................11
Registration form..............12
CatPort 2.00 (i)
Introduction
CatPort is a doorfile converter, especially written for Wildcat
version 3.00 and up. What is a doorfile converter? Simply, it is
a program that enables a BBS sysop to run a wider selection of online
programs as external additions to his or her BBS (these programs are
typically referred to as "doors").
Each "brand" of BBS software that supports door programs creates
a file by which it may pass information regarding the on-line caller
to the door program, such as the caller's name, password, amount of
logon time left, and color / graphics preferences. These information
files are typically called door dropfiles.
The basic problem is that most BBS programs create this dropfile in
a format unique to themselves. Since there are many BBS packages on the
market, literally dozens of names/formats of door dropfiles exist, all
slightly different from each other. When a programmer writes a door
program, he or she generally cannot take ALL dropfile formats into
consideration, so the program is written to expect a door dropfile that
matches a particular format, or perhaps one of a small selection of
formats. Without a dropfile converter, a door program that was written
to run on an RBBS-PC BBS cannot run on a Wildcat BBS, since RBBS-PC and
Wildcat create different dropfile formats. A dropfile converter reads
the information associated with one particular BBS dropfile format, and
writes the appropriate dropfile format that the door program expects to
see. CatPort will read the files produced by Wildcat (these are called
DOOR.SYS and USERINFO.DAT), and create a selected dropfile format from
them.
Why CatPort?
In my attempts to run door programs not written for Wildcat, I
began looking for conversion programs that would read the two files
Wildcat 3 creates and output an appropriate dropfile. After many
failures, I found 2 common problems with most, and decided to code my own.
First, Wildcat 3 uses the brand-new format for DOOR.SYS, arrived at
in July of 1991, and was the first such BBS to do so. This in effect
makes the DOOR.SYS that wildcat creates different in amount of
information from other BBS programs using the same "standard" format.
All dropfile converters I tried that supported the older format failed
due to an inability to handle the extra data in Wildcat's DOOR.SYS.
Second, some programs worked "some of the time" - some users had
problems, others didn't. I finally managed to trace this to the fact
that some of the data Wildcat places in the DOOR.SYS may be much longer
than expected - something that most other doorfile converters did not
take into effect. The only product I found that always worked was Steve
Cox's excellent LIVECAT door environment, but there were some programs
I wanted to run as DOS hooks, and not include in LIVECAT's menuing
system. For these, LIVECAT was simply "overkill", and since I place
time limit restrictions on games in LIVECAT, these restrictions were
being carried over to non-game programs that I did not want restrictions
placed upon. This meant I could not use LIVECAT for these programs.
CatPort 2.00 (1)
Technical description of CatPort
CatPort is written in Borland Turbo C++, which makes it very
compact and fast. In fact, in most environments, CatPort will perform
its' duties in about 1 second.
CatPort version 2.00 provides the ability to create the following
door dropfiles:
CALLINFO.BBS (Used by doors for Wildcat version 2)
DORINFO1.DEF (Used by doors for RBBS-PC )
CHAIN.TXT (Used by doors for WWIV (see note) )
DOOR.SYS (1) (An older format of DOOR.SYS, adhering
to the "original" DOOR.SYS spec for
the GAP BBS program. If your door that
claims to support DOOR.SYS doesn't like
Wildcat's, try this)
PCBOARD.SYS (Used by doors for PCBoard V14)
DOOR.SYS (2) (The same as Wildcat's DOOR.SYS, with
all data lines shortened to <81 characters.
Mainly used for enhanced options, although
may be useful otherwise)
DOOR.SYS (3) (Special DOOR.SYS used by the DOORWAY pgm)
SFDOORS.DAT (Used by doors for Spitfire)
(Note: WWIV has a very unique way of handling doors, and many doors
written specifically for WWIV rely upon screen i/o routines that
are internal to WWIV, as well as a dropfile. Doors such as these
will not work with just a CHAIN.TXT file, and cannot be made to.
They require WWIV. Other doors that support multiple dropfile
formats including CHAIN.TXT usually have no such requirements,
and will work fine with just the CHAIN.TXT that CatPort creates.)
CatPort includes a number of special enhanced options (in the
registered version), which enable the Wildcat sysop to custom-tailor
the data written to the dropfile. These will be explained in detail
later.
Dropfiles created by CatPort have less hard-coded information than
other BBS doorfile converters, and with very few exceptions have NO
blank lines in them. Whenever Wildcat provides the data a dropfile needs,
CatPort uses it, no matter how obscure. This ensures that dropfiles
created by CatPort will work sucessfully as input to nearly every OTHER
doorfile converter, should a format other than one of the internally-
support CatPort formats be required. Of course, it is our wish to add all
typically required formats to CatPort internally, and we actively solicit
submissions of doorfile format structures from door authors or users of
CatPort. However, should a sysop need to create a format that CatPort
does not create itself, they may use any of CatPort's supported output
formats with another doorfile converter to arrive at the desired result
(including doorfile converters that do not work with Wildcat 3!). We
recommend using the CALLINFO.BBS file if it needs to be fed to another
conversion program, as it contains the most complete caller data of the
formats CatPort presently creates.
CatPort 2.00 (2)
Legal mumbo-jumbo
CatPort is guaranteed to do only one thing: take up space on
your disk or diskette. While CatPort has been extensively tested under
many environments without mishap, the author and RhoSoft can not
accept any responsibility or liability for ANY damage to data and/or
equipment that may result from the use of CatPort. By running the program,
the user releases RhoSoft and the author(s) of CatPort from all
potential liability and/or claims as a result of CatPort's use.
Registration / Distribution
CatPort is marketed as SHAREWARE. This means that you are encouraged
to evaluate CatPort for a period of 30 days, after which time you must
either register the product or discontinue its' use. Registration of
CatPort is NOT expensive. CatPort version 2.00 costs 15 dollars (US).
Registered users of CatPort are entitled to free program upgrades over
the life of the product, so registering early assures the most for your
money.
Registration of CatPort provides you with a personal registration
id which will "unlock" the enhanced features of the product. In its'
unregistered form, CatPort will read/write dropfiles only. All options
to manipulate data are considered enhanced features. Registered users
may receive support from the RhoSoft staff, as well as provide input
on new features for future releases.
You are encouraged to distribute copies of CatPort in the original
unaltered archive. You may not, however, distribute registration ids.
The latest version of CatPort is available for network file request
from the support BBS, as well as for download on the Mustang HQ BBS.
CatPort 2.00 (3)
General Operation
CatPort is executed from the node home directory (for multi-node
systems), or from the work directory for a single-line system. This is,
by default, the current directory when Wildcat executes a door or menu
hook batch file. CatPort requires the following four files to be present
for operation:
CATPORT.EXE (Can be anywhere in the DOS path)
CATPORT.CFG (Can be anywhere in the DOS path)
DOOR.SYS (Created by WC in the node/work directory)
USERINFO.DAT (Created by WC in the node/work directory)
If any of the last three files are missing, Catport will cease operation.
CATPORT.CFG:
CatPort requires the presence of a file called CATPORT.CFG, which
must be locally created, and must exist somewhere in the DOS path for
the system CatPort is running on. A sample CFG file, called CATPORT.SMP,
is provided with the distribution archive. Its' format is as follows:
line 1: BBS Name
Line 2: Sysop's first name
Line 3: Sysop's last name
Line 4: CatPort registration id
-------------------------------- (lines below line 4 are ignored)
All information must be provided, as some door dropfiles require
the sysop's name or BBS name. If CatPort determines the registration
id to be invalid, the enhanced options will be disabled, so any info
can be entered in this field prior to registering CatPort.
CatPort controls execution via DOS errorlevels, so your BAT file
will need to check for these errorlevels. CatPort errorlevels are:
Errorlevel 255 = File missing, read/write error, internal CatPort error.
Errorlevel 100 = Caller rejected due to OPEN setting
Errorlevel 90 = Caller rejected due to LOCK setting
Errorlevel 80 = Caller rejected due to NODES setting
Errorlevel 70 = Caller rejected due to CONFS setting
Errorlevel 60 = Caller rejected due to RESTRICT setting.
Errorlevel 50 = Caller rejected due to SLIMIT setting.
Errorlevel 40 = ASWAP specified, but no alias exists for caller.
An errorlevel below 40 means CatPort wrote the requested dropfile,
making modifications as requested by enhanced options. These are:
Errorlevel 7 = SFDOORS.DAT Created sucessfully.
Errorlevel 6 = DOOR.SYS (Doorway) Created sucessfully.
Errorlevel 5 = DOOR.SYS (Wildcat) Created sucessfully.
Errorlevel 4 = PCBOARD.SYS Created sucessfully.
Errorlevel 3 = DOOR.SYS (Old version) Created sucessfully.
Errorlevel 2 = CHAIN.TXT Created sucessfully.
Errorlevel 1 = DORINFO1.DEF Created sucessfully.
Errorlevel 0 = CALLINFO.BBS Created sucessfully.
CatPort 2.00 (4)
Command format
All CatPort functions are specified as command-line parameters.
The basic command line format to invoke CatPort is as follows:
Catport x d:\path\ option1 option2 etc
In the above example,
x = The identifier for the dropfile format required
0 = CALLINFO.BBS
1 = DORINFO1.DEF
2 = CHAIN.TXT
3 = DOOR.SYS (Old)
4 = PCBOARD.SYS
5 = DOOR.SYS (WC)
6 = DOOR.SYS (Doorway)
7 = SFDOORS.DAT
Any number greater than 6 , or any other non-valid
identifier results in an abnormal exit with errorlevel 255.
d:\path\ = The COMPLETE drive/path (WITH TRAILING BACKSLASH) where the
selected door dropfile is to be written. For example,
e:\bbs\doors\yt\ would be a valid parameter. NOTE! Failure to
include the trailing backslash will result in the selected
dropfile being improperly named, or being written to the wrong
subdirectory. YOU SHOULD NOT SPECIFY THE DROPFILE NAME ON
THIS PARAMETER.
option1 = Enhanced options you wish to use. These may be in any order,
option2 and multiple options may be specified.
etc
Enhanced options (available in registered versions only)
ASWAP
Catport allows you to write the door dropfile using the callers'
alias rather than their real name. This allows the sysop to make a door
program "anonymous" by nature, especially if the door does not allow for
handles or nicknames to be selected internally. If the caller does not
have an alias established, CatPort will exit with an errorlevel of 40,
AND WILL NOT WRITE THE DOOR DROPFILE. The controlling door .BAT file
may then exit based upon this errorlevel.
Note to users of DORINFO1.DEF: The defined standard for DORINFO1.DEF is
based upon a "First name, Last name" methodology. Therefore, aliases
using less than 2 words will result in a BLANK last name, and aliases
using more than 2 words will result in a TRUNCATED name (IE, a caller
with an alias of "The Lone Ranger" will appear in DORINFO1.DEF as
simply "firstname = THE, lastname = LONE".
CatPort 2.00 (5)
SLIMIT xxxx
You may instruct CatPort to only permit a caller access to a door
if their security level is higher than (or equal to) the one specified
following the SLIMIT keyword (xxxx). If a caller with a security
level below the SLIMIT value attempts to run use the door, CatPort will
exit with an errorlevel of 50 AND WILL NOT WRITE THE DOOR DROPFILE.
The controlling door .BAT file may then exit based upon this errorlevel.
SLIMT expects a following keyword value of from 1-9999.
RESTRICT xxxx
RESTRICT is very similar to SLIMIT, except that it only permits a
caller to access the door if their security level is EQUAL to the one
specified following the RESTRICT keyword (xxxx). If the callers' security
level does not match, CatPort will exit with an errorlevel of 60 AND WILL
NOT WRITE THE DOOR DROPFILE. The controlling door .BAT file may then exit
based upon this errorlevel. RESTRICT expects a following keyword value of
from 1-9999.
TLIMIT xxx
You may instruct CatPort to allow a maximum period of time in a door
for a caller by using the TLIMIT function. TLIMIT expects a following
keyword equal to the maximum time allowed for the door being run. If the
callers' logon time for the day is more than the TLIMIT value, the output
door dropfile will be written showing the user with the value of TLIMIT
as time remaining for the day. IN NO CASE WILL USING TLIMIT ALTER THE
CALLERS ACTUAL LOGON TIME REMAINING FOR THE BBS. If the caller has less
logon time left than the limit specified, the actual logon time left will
be written to the door dropfile. USING TLIMIT WILL NEVER INCREASE THE
AMOUNT OF LOGON TIME A CALLER HAS. Note that TLIMIT implies a "per play"
time restriction, and not a "per day" limit. A caller can conceivably
re-run the door after their TLIMIT time has expired, providing they have
adequate logon time remaining on the BBS.
CONFS xxx yyy zzz
You may instruct CatPort to only permit the execution of the door
when the user has entered the door from a specific conference number.
Following the CONFS keyword is a list of space-delineated conference
numbers which are acceptable. (ie, CONFS 1 10 100). If the caller
entered the door from a conference other than the ones listed, errorlevel
70 will be returned, and the dropfile will NOT be written.
Note: There is no arbitrary limit on the number of parameters after
the CONFS keyword.. it simply must be at least 1 value (ie,
CONFS 1 is valid, as is CONFS 1 5 3 2 10 44 33. Numbers need not be
in ascending or descending order).
CatPort 2.00 (6)
NODES x y z
You may instruct CatPort to only permit the execution of the door
from certain nodes. This allows a sysop to reserve certain nodes for
strictly message/file traffic, for example. The format is identical
to the CONFS option - the nodes permissable to execute the door follow
the NODES command (ie, NODES 1 2 4). If run from a node NOT permitted,
errorlevel 80 will be returned, and the dropfile will NOT be written.
Note: There is no arbitrary limit on the number of parameters after
the NODES keyword.. it simply must be at least 1 value (ie,
NODES 1 is valid, as is NODES 1 5 3 2 10 44 33. Numbers need not be
in ascending or descending order).
LOCK
Every BBS has a couple callers that a sysop wishes (s)he could keep
out of certain door programs for various reasons. This option enables
that. By specifying LOCK on the command line, CatPort will search the DOS
path for a file called LOCKDOOR.x (x = the door number being run), and
will read that file, matching user names listed in the file against the
caller. If found, errorlevel 90 will be returned, and the dropfile will
NOT be written.
OPEN
OPEN is basically the reverse of LOCK. When OPEN is used, the sysop
wants to restrict door use to a certain few users, as opposed to barring
a certain few as LOCK permits. When specified, CatPort will search the DOS
path for a file called OPENDOOR.x (x = the door number being run), and
will read that file, matching user names listed in the file against the
caller. If not found, errorlevel 100 will be returned, and the dropfile
will NOT be written.
Note for the OPEN and LOCK functions:
OPEN and LOCK functions ALWAYS key off the name under which the user
logs onto the system. Even if the ASWAP function is called prior to
LOCK or OPEN, the check is performed on the callers' real name.
Sequence of Enhance option execution:
Regardless of the order specified on the command line, enhanced
options always execute in the following order:
1) ASWAP
2) TLIMIT
3) SLIMIT
4) RESTRICT
5) CONFS
6) NODES
7) LOCK
8) OPEN
All options may be combined as desired.
CatPort 2.00 (7)
Usage Samples
The following samples give an idea of how you would execute CatPort
in a door .BAT file:
Case 1: Create callinfo.bbs, in directory c:\bbs\yt\.
CatPort 0 c:\bbs\yt\
Case 2: Create Chain.txt, in directory F:\bbs\wwiv\, forcing alias use.
CatPort 2 f:\bbs\wwiv\ ASWAP
Case 3: Create Door.sys (old) in directory e:\game\, forcing time limit.
CatPort 3 e:\game\ TLIMIT 30
Case 4: Create Pcboard.sys in directory c:\wc30\door3\, restrict access
to only users meeting security level 100, and only those
listed in the OPENDOOR.3 file (assuming this is door #3)
CatPort 4 c:\wc30\door3\ RESTRICT 100 OPEN
Note: Enhanced options may be combined, but are ignored in unregistered
versions of CatPort.
Note for users of CatPort V1.00:
CatPort no longer creates a GAPDOOR.SYS file, and any batch files
which performed a rename of GAPDOOR.SYS to DOOR.SYS must be updated
to remove the rename step. This change, while requested by many
CatPort sysops, raises a cause for caution. It is entirly possible now
for you to inadvertantly overwrite the Wildcat-created DOOR.SYS file
with a version of DOOR.SYS CatPort has created (CatPort offers 3
variations of DOOR.SYS). While this SHOULDN'T harm anything (Wildcat
at present DOES NOT read back info from DOOR.SYS upon return from a door),
caution should be excercised in determining the output directory for
the dropfile CatPort creates.
CatPort 2.00 (8)
Notes for users of enhanced options:
.BAT files
In order to make your users aware of CatPort - caused rejections, your
door BAT files should be aware of the rejection errorlevels. This sample
DOOR.BAT file assumes that the caller is on COM1, and uses both SLIMIT
and RESTRICT options in the CatPort call. While this is technically
possible, it is redundant, and in practice you will never need to specify
both options.
@echo off
CatPort 1 c:\wc30\door\yt\ ASWAP SLIMIT 100 RESTRICT 200
If errorlevel 255 goto fail
If errorlevel 60 goto R_reject
If errorlevel 50 goto S_reject
If errorlevel 40 goto A_reject
cd \wc30\door\yt
yt
goto end
:fail
Echo An error has occurred. Please notify sysop! > COM1:
goto end
:R_reject
Echo Your security level does not match required level for door. > COM1:
goto end
:S_reject
Echo Your security level is not high enough for this door. > COM1:
goto end
:A_reject
Echo You do not have an alias defined, and can not use this door. > COM1:
goto end
:end
cd \wc30
Usage note: Since Catport always deletes a previously-existing
version of the requested dropfile (if found), it is not
ABSOLUTELY necessary to match errorlevels, as the door
program itself will "bomb out" and fail to run when it
does not find a proper dropfile to read. Doing things this
way, though, will leave your caller in the dark as to why
the door failed to run.
OPEN and LOCK option file requirements
When using the OPEN and LOCK commands, CatPort expects to find a
file somewhere in the DOS path which contains the names of callers allowed
to use the door (for OPEN), or the names of callers barred from the door
(for LOCK). These filenames are called are OPENDOOR.x and LOCKDOOR.x
(in both cases, x refers to the number of the door that these files
oertain to). These files are not required for use, and CatPort will
function if they are missing. If the appropriate OPENDOOR.x file is
missing, it will be assumed NOBODY is allowed to use the door (perhaps
not too useful!), if the OPEN option is specified on the command line.
If LOCKDOOR.x is missing and LOCK has been specified on the command line,
it is assumed nobody has been barred access to the door.
CatPort 2.00 (9)
A sample OPENDOOR and LOCKDOOR file have provided in the distribution
archive, by the name of OPENDOOR.SMP and LOCKDOOR.SMP. These are simple
flat-file ASCII files, with one full name (first and last) per line.
Sample OPENDOOR.1 (this would be a permission list for door #1)
JOHN SMITH
JANE DOE
(LOCKDOOR.1 would follow the same pattern.)
Note that if for some reason you specify OPEN and LOCK on the command
line for CatPort, LOCK will ALWAYS be processed first, therefore, if
the same name is in both the OPENDOOR and LOCKDOOR files, that user
will NEVER be permitted access to the door.
Error logging
CatPort will write an error log each time the program fails for some
reason, called CATPORT.LOG, in the same directory CatPort is run from.
Each error entry is date/time logged. This file should be checked
occasionally and "pruned" as needed to prevent it from growing too large.
A seperate CATPORT.LOG will exist in the node work directory of each
node on a multi-node system. If CatPort generates an errorlevel exit,
or a user is rejected due to an enhance option limitation, it will be
logged here. If CatPort cannot create/update the log file, processing
will continue without error logging.
CatPort 2.00 (10)
Support for CatPort:
CatPort is supported for registered users on the Walden Puddle BBS
at (607) 687-6193/6049, and also via netmail to RhoSoft at 1:260/450
via FIDOnet, 26:1607/100 via Signet, or 100:910/0 at Magnet. Mail
from unregistered users is also welcome, although guarantees of speedy
replies can not be made. We DO, however, take our products seriously,
and will act promptly on all major bug reports, no matter how reported
or by whom. Implementation of suggestions for improvment from registered
users will take precedence over unregistered users.
We also maintain a presence on the Mustang Software HQ BBS, thanks
to Kevin Brokaw, sysop of the Walden Puddle BBS. Please address mail
regarding CatPort to him when using the Mustang HQ BBS. Also, we
follow the international WILDCAT echo in FIDOnet, as well as the
M-WILDCAT echo in Magnet.
What's coming???
We try to include features and options that are of value to our
sysops, and are always looking to improve the product. Options under
development at present are a serial i/o interface for direct
communication with the user, as well as additional dropfile options.
Please let us know if you want to see something "special" in CatPort!
CatPort 2.00 (11)
REGISTRATION PROCESS FOR CatPort
Please complete the registration form to register CatPort V2. This
will entitle you to free program updates for the life of the Product.
Updates to the product may be downloaded from the Walden Puddle BBS,
Mustang HQ BBS, or file-requested from the network addresses listed in
this DOC file under "Support" by the "Magic" name CATPORT.
You will have a userid created for you on the Walden Puddle BBS, using
a password you provide. Your CatPort ID will be mailed to you upon
clearance of your check, or immediately upon receipt of a money order.
It will also be posted in a private message on the Walden Puddle BBS
on the same day, if you should wish to obtain it in that manner.
The latest (or next) version of CatPort can be mailed to you on
diskette for an additional charge. Please see order info.
Please complete, print, and mail the next page,
along with the proper amount in US funds
(check or money order, please.. not responsible for
cash sent in the mail!) to:
RhoSoft
1026 Day Hollow Rd
Owego, NY 13827
USA
-----------------------------------------------------------------------------
CatPort Registration - please print, complete, and mail
NOTE! This registration form is valid until 06/1/92. While
new versions of CatPort may be released prior to that date,
all registrations received through 6/15/91 for CatPort V2
will be honored.
Mail to: RhoSoft
1026 Day Hollow Rd
Owego, NY 13827 USA
Registering Sysops's Name ______________________________________________
(Will be used to set up account on support BBS)
Password requested ______________________________________________
(Will be used to set up account on support BBS)
Registering Sysops's Address ___________________________________________
___________________________________________
___________________________________________
BBS CatPort is registered to __________________________________________
(Note: Must EXACTLY match BBS name as you put
it in Catport.cfg - INCLUDING upper/lower
case letters)
Wildcat Registration # __________________________________
CatPort version you posess (can be found by issuing CATPORT ?) _________
CatPort 2.00 Registration __$ 15.00__
Latest/Next CatPort on Disk
Add 2.50 for 5.25 inch
3.00 for 3.5 inch ___________
(U.S. users only)
Total amount enclosed ___________
(In Check or Money order,
Payable to RhoSoft,
in U.S. Funds)